// -* - coding: utf - 8 -* -
// Copyright(c) 2023 Intel Corporation
//
// Licensed under the Apache License, Version 2.0(the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import React, { useEffect, useState } from 'react';
import './ModelSummary.scss';
import { api } from './../../App';
import Spinner from 'react-bootstrap/Spinner';

export default function ModelSummary({ selectedWorkload, setWarningText }) {
  const [summary, setSummary] = useState(null);
  useEffect(() => {
    if (selectedWorkload) {
      setSummary(null);
      const payload = {
        workload_id: selectedWorkload.uuid,
      };
      api.post('api/model/summary?token=' + localStorage.getItem('token'), payload)
        .then(
          response => {
            setSummary(response);
          })
        .catch(error => {
          setWarningText(error.message);
        });
    }
  }, [selectedWorkload]);

  return (
    <div className='data-panel summary'>
      {!summary &&
        <div className="spinner-container">
          <Spinner className="spinner" animation="border" />
        </div>
      }
      <pre>
        <code>
          {summary?.data?.summary.replaceAll('\n\n', '\n')}
        </code>
      </pre>
    </div>
  )
}